#pragma once
#include "VectorOperations.h"
#include "Quaternion.h"

class Matrix33
{
public:
	float mat[9];

	Matrix33(){}
	
	Matrix33(Quaternion &rotQuat);
	Matrix33(float scaleX, float scaleY, float scaleZ);
	Matrix33(float scale);
	
	Matrix33(Matrix33 &otherMatrix);
	
	void rotationFromQuat (Quaternion &rotQuat);
	
	//Operators
	Matrix33 operator* (Matrix33 &otherMatrix);
	Vector3f operator* (Vector3f &otherMatrix);
	void operator*= (Matrix33 &otherMatrix);
	void operator*= (Vector3f &otherVector);
	
	Matrix33 operator+ (Matrix33 &otherMatrix);
	void operator+= (Matrix33 &otherMatrix);
	Matrix33 operator- (Matrix33 &otherMatrix);
	void operator-= (Matrix33 &otherMatrix);
};